1、SAM通过snmp获取web认证状态信息失败故障问题
总结起来,主要分为如下几类原因导致:
1).设备snmpd没有返回获取的mib信息报文,触发故障现象:
故障现象:
通过snmp mib获取软件获取设备的信息,没有获取设备的响应信息,导致获取设备信息失败。
故障原因:
设备snmpd服务没有开启;
设备snmpd的团体名或者snmpv3 配置不正确;
snmp mib软件设置的snmp信息与设备配置的信息不一致;
设备是否有配置ACL信息;
设备snmpd任务出现问题。
2). 设备snmpd返回获取的mib信息超时,触发故障现象:
故障现象:
通过snmp mib获取软件获取设备的信息,没有获取设备的响应信息,导致获取设备信息失败。
故障原因:
获取的这个mib节点本身处理时间比较久;
由于设备snmpd是单任务线程,同时获取的mib节点不多的情况下,获取这个mib节点之前有节点处理时间比较久,导致当前mib节点返回超时;
由于设备snmpd是单任务线程,同时获取的mib节点很多,超过设备的每秒处理数量,导致当前mib节点返回超时;
3)、故障排查指导
当出现snmp mib节点获取失败的故障现象时,需要一次性收集的故障信息如下:
Ruijie# show version detail
Ruijie# show run
Ruijie# show snmp (收集5次)
Ruijie# show snmp process-mib-time (收集3次)
触发mib读取,在设备上和snmp mib服务器上同时抓包。
确认是个体还是全部:
当前mib节点获取出现问题,尝试其他的mib节点是否也有这个现象。
3.2.1、查看设备配置:
查看设备配置的信息是否正确,以及是否有配置ACL过滤信息。
3.2.2、分析设备和snmp mib服务器收集的报文信息:
查看触发的mib操作是否有返回报文信息,若触发的mib操作没有抓到获取的报文,则说明是上述的第一种原因;否则是第二种原因。
若是第一种原因,则分析设备配置信息和分析show task信息;
若是第二种原因,则分析是否有很多的snmp报文请求和snmp报文是否有携带很多的绑定变量。若有很多的snmp报文请求和snmp报文有携带很多的绑定变量,则说明当前有大量的snmp请求,导致出现这个现象,则可以通过规避办法进行规避。若没有很多的snmp报文请求,则分析show snmp process-mib-time信息。
3.2.3、分析show snmp process-mib-time收集上来的信息:
主要是收集20个处理时间比较久的mib节点,保存的信息有处理cycle时间和mib节点。cycle时间可以通过计算出执行的具体时间。计算公式为:具体时间(毫秒) = cycle时间 * 10 / (设备cpu频率 / 100),例如设备cpu频率为750MHZ,收集的cycle时间为105841517,则具体时间为:105841517 * 10 / (750 * 10^6 / 100) = 141ms,说明获取mib节点的具体模块内部处理时间为141ms。要是算出来的时间比较久,则让mib节点对应的具体模块负责人分析。
3.2.4、分析 show tash收集上来的信息:
若由于第一种原因引起的故障,则需要分析show task中snmpd任务的堆栈信息,看看snmpd是否出现问题。
故障恢复:
若由于第一种原因,且是配置引起的故障,则修改配置;否则,需要视具体情况而定。
若由于第二种原因,且不是因为单个mib节点处理时间久引起的故障,通过配置snmp-server flow-control pps 设置报文的上限,故障消失,则说明可以通过此种办法规避。若是因为单个mib节点处理时间久引起的故障则需要进一步收集信息确认。
故障规避:
若由于第二种原因,且不是因为单个mib节点处理时间久引起的故障,则通过配置snmp-server flow-control pps 设置报文的上限办法来规避,通过设备和snmp mib服务器收集的报文信息分析设备每秒处理的绑定数量,比如,抓包显示每秒处理的报文数量为200,且每一个报文绑定的数量为3,则snmpd每秒处理的绑定变量数为200 * 3 = 600个,则可以设置snmp-server flow-control pps 600,由于把snmp的pps设置为600,有可能导致设备的snmpd的任务的cpu高,因此,还需要观察设备cpu是否可以接受。
2、SNMP无法读到AC信息
信息收集如下:
1.请检查snmp配置,key是否正确,udp161端口是否可达。
2.请检查软件版本,如果版本比版本b8xp2低,很有可能是已知故障。
show snmp message
show snmp
show snmp pro
show ver detail
show run
故障定位:
通过收集发现是snmp内部int计数值翻转,逻辑出错导致获取不了的问题
1.重启设备的rg-snmpd进程进行恢复:
Ruijie# run-system-shell
~ # ps -e | grep snmp
~ # pkill -9 rg-snmpd
~ # exit
当前这个只是临时规避,如果设备可以重启,也可直接重启。重启只是规避方法。
最终解决方法:
请升级软件版本,升级至b8p2及以上版本。
3、VAC场景中存在对应的类似rill网管软件信息读取慢
VAC场景中存在对应的类似rill网管软件信息读取慢的情况,需要注意SNMP流控优化配置及开启SNMP缓存功能;
其中针对SNMP流控优化配置需注意以下几点:
snmp-server flow-control pps xxx //xxx值的调整,需要密切关注cpu的情况。
另外可通过show snmp连续1s操作一次信息收集,确认 Number of requested variables(该值是累计值)字段的增长的速率,根据对应的每秒增长的数量进行SNMP流控的设置。
如果碰到类似的oid节点读取不到的情况,确认如下几点:
1)核实oid节点是否正常;
2)使用mib browser进行节点读取测试验证。
开启SNMP缓存功能,VAC需要Cache的OID列表
snmp-server cache oid 1.3.6.1.2.1.145.1.2.2.1
snmp-server cache oid 1.3.6.1.2.1.145.1.2.3.1
snmp-server cache oid 1.3.6.1.2.1.145.1.2.6.1
snmp-server cache oid 1.3.6.1.2.1.145.1.2.7.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.1.1.39.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.1.1.48.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.1.1.49.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.10.1.12.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.10.1.13.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.19.1.1.10.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.19.1.1.11.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.35.1.3.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.36.1.3.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.40.1.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.40.1.5.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.56.2.1.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.56.2.1.2.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.56.2.1.3.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.56.2.1.6.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.56.2.1.7.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.56.5.1.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.64.1.1.38.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.64.1.1.39.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.73.1.3.1.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.1.3.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.10.2.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.10.4.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.10.5.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.10.5.2.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.10.7.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.14.2.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.15.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.16.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.16.2.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.2.1.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.2.3.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.3.1.1
snmp-server cache oid 1.3.6.1.4.1.4881.1.1.10.2.81.6.1.1
snmp-server cache enable
4、Wireshark如何过滤snmp的trap数据包
1)、首次过滤snmp
2)、右键选择解码为snmp![]()
3)、查看trap报文转发